package com.zhehekeji.opsys.api.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

// Generated 2014-11-26 14:35:18 by Hibernate Tools 3.4.0.CR1

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * TblVisitLog generated by hbm2java
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "t_visit_log")
public class TVisitLog extends MongoEntity implements java.io.Serializable {

    /**
     * serialVersionUID:TODO
     *
     * @since 1.0
     */
    private static final long serialVersionUID = 6423413477604487553L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID", length = 20, nullable = false, unique = true)
    private long id;

    @Column(name = "STB_TYPE", length = 255, nullable = true)
    private String stbType;

    /**
     * 平台：华为 0：中兴 1
     */
    @Column(name = "PLATFORMTYPE", length = 2, nullable = true)
    private Integer platformType;

    /**
     * 当前页面标识
     */
    @Column(name = "PAGE_IDENTITY", length = 64, nullable = true)
    private String pageIdentity;

    /**
     * 当前页面名称
     */
    @Column(name = "PAGE_NAME", length = 500, nullable = true)
    private String pageName;

    /**
     * 按钮标识,类型为按钮时上传该字段
     */
    @Column(name = "BUTTON_IDENTITY", length = 64, nullable = true)
    private String buttonIdentity;

    /**
     * 按钮名称
     */
    @Column(name = "BUTTON_NAME", length = 255, nullable = true)
    private String buttonName;

    /**
     * 省份标识
     */
    @Column(name = "PROVINCE_IDENTITY", length = 64, nullable = true)
    private String provinceIdentity;

    /**
     * 省份名称
     */
    @Column(name = "PROVINCE_NAME", length = 500, nullable = true)
    private String provinceName;

    /**
     * 上级页面来源标识
     */
    @Column(name = "PARENET_PAGE_IDENTITY", length = 64, nullable = true)
    private String parentPageIdentity;

    /**
     * 内容CODE
     */
    @Column(name = "CONTENT_CODE", length = 64, nullable = true)
    private String contentCode;

    /**
     * 内容名称
     */
    @Column(name = "CONTENT_NAME", length = 128, nullable = true)
    private String contentName;

    /**
     * 栏目CODE
     */
    @Column(name = "CATEGORY_CODE", length = 64, nullable = true)
    private String categoryCode;

    /**
     * 栏目名称
     */
    @Column(name = "CATEGORY_NAME", length = 128, nullable = true)
    private String categoryName;

    @Column(name = "GROUP_NO", length = 255, nullable = true)
    private String groupNo;

    /**
     * 上报时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "VISIT_TIME", nullable = true)
    private Date visitTime;

    @Column(name = "ACCOUNT", length = 255, nullable = true)
    private String account;

    @Column(name = "PRODUCT_CODE", length = 64, nullable = true)
    private String productCode;

    @Column(name = "PRODUCT_NAME", length = 255, nullable = true)
    private String productName;

    @Column(name = "CP_CODE", length = 20, nullable = true)
    private Long cpCode;

    /**
     * 上报类型：1 页面访问，2 按钮上报
     */
    @Column(name = "TYPE", length = 11, nullable = true)
    private Integer type;

    @Column(name = "RESOLUTION", length = 2, nullable = true)
    private Integer resolution;

    @Column(name = "AREA_ID", length = 64, nullable = true)
    private String areaId;

    @Column(name = "EPG_PLATFORM_TYPE", length = 2, nullable = true)
    private Integer epgPlatformType;
    
    /**
     * 运营商code
     */
    @Column(name = "OPERATOR_IDENTITY", length = 64, nullable = true)
    private String operatorIdentity;

    /**
     * 运营商name
     */
    @Column(name = "OPERATOR_NAME", length = 64, nullable = true)
    private String operatorName;
    
    /**
     * 上级页面来源名称
     */
    @Column(name = "PARENET_PAGE_NAME", length = 500, nullable = true)
    private String parenetPageName;
    
    @Column(name = "AREA_IDENTITY", length = 64, nullable = true)
    private String areaIdentity;
    
    @Column(name = "AREA_NAME", length = 64, nullable = true)
    private String areaName;
    
    /**
     * 0:其他 1:活动 2:推荐位 3:预订购 4:专题
     */
    @Column(name = "UTYPE", length = 2, nullable = true)
    private Integer utype;

    /**
     * 0:异常 1:非订购用户 2:订购用户
     */
    @Column(name = "OTYPE", length = 2, nullable = true)
    private Integer otype;

    @Column(name = "ORIGIN_RECOMMEND", length = 2, nullable = true)
    private Integer originRecommend;//0：从推荐位进入普通（默认）1：从推荐位进入活动 2：从推荐位进入专题

    @Column(name = "VISIT_YEAR", length = 10, nullable = true)
    private String visitYear;

    @Column(name = "VISIT_MONTH", length = 20, nullable = true)
    private String visitMonth;

    @Column(name = "VISIT_DAY", length = 30, nullable = true)
    private String visitDay;

    @Column(name = "VISIT_MINUTE", length = 40, nullable = true)
    private String visitMinute;

    @Column(name = "VISIT_HOUR", length = 40, nullable = true)
    private String visitHour;

    @Column(name = "PTYPE", length = 2, nullable = true)
    private Integer ptype;//1:电竟产品 2:教育产品

}
